%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%  My documentation report
%  Objetive: Explain what I did and how, so someone can continue with the investigation
%
% Important note:
% Chapter heading images should have a 2:1 width:height ratio,
% e.g. 920px width and 460px height.
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


%----------------------------------------------------------------------------------------
%	PACKAGES AND OTHER DOCUMENT CONFIGURATIONS
%----------------------------------------------------------------------------------------

\documentclass[11pt,fleqn]{book} % Default font size and left-justified equations

\usepackage[top=3cm,bottom=3cm,left=3.2cm,right=3.2cm,headsep=10pt,letterpaper]{geometry} % Page margins

\usepackage{xcolor} % Required for specifying colors by name
\definecolor{ocre}{RGB}{52,177,201} % Define the orange color used for highlighting throughout the book

% Font Settings
\usepackage{avant} % Use the Avantgarde font for headings
%\usepackage{times} % Use the Times font for headings
\usepackage{mathptmx} % Use the Adobe Times Roman as the default text font together with math symbols from the Sym­bol, Chancery and Com­puter Modern fonts
\usepackage{microtype} % Slightly tweak font spacing for aesthetics
\usepackage[utf8]{inputenc} % Required for including letters with accents
\usepackage[T1]{fontenc} % Use 8-bit encoding that has 256 glyphs
\usepackage{amsthm}
\usepackage{appendix}
\usepackage{diagbox}
% Bibliography
\usepackage[style=alphabetic,sorting=nyt,sortcites=true,autopunct=true,babel=hyphen,hyperref=true,abbreviate=false,backref=true,backend=biber]{biblatex}
\addbibresource{bibliography.bib} % BibTeX bibliography file
\defbibheading{bibempty}{}

\input{contents/structure} % Insert the commands.tex file which contains the majority of the structure behind the template

%----------------------------------------------------------------------------------------
%	Definitions of new commands
%----------------------------------------------------------------------------------------

\def\R{\mathbb{R}}
\newcommand{\cvx}{convex}
\begin{document}

%----------------------------------------------------------------------------------------
%	TITLE PAGE
%----------------------------------------------------------------------------------------

\begingroup
\thispagestyle{empty}
\AddToShipoutPicture*{\put(0,0){\includegraphics[scale=1.25]{esahubble}}} % Image background
\centering
\vspace*{5cm}
\par\normalfont\fontsize{35}{35}\sffamily\selectfont
\textbf{C++ 编程}\\
{\LARGE Linux环境下开发}\par % Book title
\vspace*{1cm}
{\Huge 刘帅}\par % Author name
\endgroup

%----------------------------------------------------------------------------------------
%	COPYRIGHT PAGE
%----------------------------------------------------------------------------------------

\newpage
~\vfill
\thispagestyle{empty}

%\noindent Copyright \copyright\ 2014 Andrea Hidalgo\\ % Copyright notice


\noindent \textit{https://gitee.com/bleedingfight}\\ % URL

\noindent 这本书是关于学习C++常见的一些问题的介绍，里面包含了算法，数据结构，常见错误等等。因为开发环境是Linux，本书介绍的操作均在Linux下完成，使用的编译器为clang++ 13.0.0。为什么使用clang++而不是g++?因为clang++在类Unix系统下都能很好的工作，其套件方便安装。通常Linux自带的g++版本不够高而且升级麻烦。clang++安装不会影响g++,升级clang++将能以较低的风险获得更佳的编译工具。当前文档持续更新中，本文确保代码能在最新的编译器下工作而不是尽量兼容老代码，所有代码编写的标准都是以尽量新的标准完成，这需要编译器的配合，所以编译器会持续保持使用最新的。\\
\noindent \textit{First release, July 2018} % Printing/edition date

%----------------------------------------------------------------------------------------
%	TABLE OF CONTENTS
%----------------------------------------------------------------------------------------

\chapterimage{head1.png} % Table of contents heading image

\pagestyle{empty} % No headers

\tableofcontents % Print the table of contents itself

%\cleardoublepage % Forces the first chapter to start on an odd page so it's on the right

\pagestyle{fancy} % Print headers again

%----------------------------------------------------------------------------------------
%	CHAPTER 1
%----------------------------------------------------------------------------------------
\listoflistings
\chapterimage{head2.png} % Chapter heading image
\chapter{C++基础}
\input{contents/pointer}
\input{contents/function}
\input{contents/exception}
\input{contents/namespace}
\input{contents/class}
\input{contents/stream}
\input{contents/string}
\input{contents/datastruct}
\input{contents/arithmetic}
\input{contents/process}
\input{contents/basic_concept}
\chapter{CMake}
\input{contents/cmake}
\chapter{C++标准库}
\input{contents/container}
\input{contents/algorithm}
\input{contents/ratio}
\input{contents/chrono}
\input{contents/numeric}
\input{contents/regex}
\input{contents/utility}
\input{contents/thread}
\input{contents/optional}
\input{contents/variant}
\input{contents/type_traits}
\input{contents/format}
\input{contents/new_stand}
\chapter{C++常见问题}
\input{contents/questions}
\input{contents/specification}
\end{document}
